import { IndexInterceptor } from '@libs/common/interceptors';
import { Body, Controller, Post, UseInterceptors } from '@nestjs/common';

import {
  FindOneByIdOvertimeDto,
  IndexOvertimeDto,
  ShowOvertimeDto,
  SyncOvertimeDto,
} from './dto/overtime.dto';
import { OvertimeService } from './overtime.service';

@Controller('hr/overtime')
export class OvertimeController {
  constructor(private readonly overtimeService: OvertimeService) {}

  @Post('index')
  @UseInterceptors(new IndexInterceptor())
  index(@Body() dto: IndexOvertimeDto) {
    return this.overtimeService.index(dto);
  }

  @Post('show')
  show(@Body() dto: ShowOvertimeDto) {
    return this.overtimeService.show(dto);
  }

  // @Post('delete')
  // delete(@Body() dto: DeleteOvertimeDto) {
  //   return this.overtimeService.delete(dto);
  // }

  // @Post('create')
  // create(@Body() dto: CreateOvertimeDto) {
  //   return this.overtimeService.create(dto);
  // }

  // @Post('update')
  // update(@Body() dto: UpdateOvertimeDto, @PayloadUser() user: SC.User.SysInfo) {
  //   // user info
  //   return this.overtimeService.update(dto);
  // }

  @Post('sync')
  sync(@Body() dto: SyncOvertimeDto) {
    return this.overtimeService.sync(dto);
  }

  @Post('userCount')
  userCount(@Body() dto: FindOneByIdOvertimeDto) {
    return this.overtimeService.findOneById(dto);
  }

  // 只返回一条对象数据，如果存在多个只返回第一条
  // @Post('findOne')
  // findOne(@Body() dto: FindAttendanceTodayDto) {
  //   return this.AttendanceTodayService.findOne(dto);
  // }

  // 返回所有符合条件的数据
  // @Post('find')
  // find(@Body() dto: FindAttendanceTodayDto) {
  //   return this.AttendanceTodayService.find(dto);
  // }

  // @Post('import')
  // import(@Body() dto: ExportOvertimeDto) {}

  // @Post('export')
  // export(@Body() dto: ImportOvertimeDto) {}

  // @Post('switch')
  // switch(dto: SwitchOvertimeDto) {
  //   return this.overtimeService.switch(dto.id, dto.status);
  // }
}
